home *** CD-ROM | disk | FTP | other *** search
-
- PSM - Public Screen Manager v1.0
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Copyright (C)1993 by Dianne Hackborn.
-
- =========================================================================
- This program is shareware. If you like it and find it useful, please
- consider sending a donation of $5 or whatever you think it is worth.
- My address is at the end of this file.
-
- Taking a clue from Microsoft and their MSDOG 6.0, if you become a
- register developer of my gadoutline.library, you will also become
- registered for this program at NO EXTRA CHARGE! Wow. :)
-
- This program is freely distributable as long as all of its files are
- included, with no modifications to them. It is provided as-is, and has
- warranties of any kind.
- =========================================================================
-
- INTRODUCTION
-
- PSM is Yet Another Public Screen Program. It was primarily written as
- a demonstration of my gadoutline.library, and is thus currently very
- GUIcentric - it does no command line parsing for CLI users or even look
- at its Workbench tooltypes. On the other hand, it does have a very
- sophisticated multi-window user interface and allow almost complete
- control over the creation of screens.
-
- This program requires gadoutline.library to run, which is included in
- the archive. You may either place the library in your LIBS: directory
- or in the same directory as PSM; if it can't find it in LIBS: it will
- attempt to load it from its program directory. The included program
- "AboutGadOutline" displays information about the gadoutline.library
- file currently installed. Complete documentation and programming
- information for gadoutline.library is available in a separate
- distribution.
-
- GETTING STARTED
-
- There are three different windows used by PSM: The MAIN WINDOW, the
- EXAMINE WINDOW and the NEWSCREEN WINDOW. PSM allows multiple windows
- - limited only by memory - to be open and active at the same time. You
- could, for example, open a newscreen window and, while filling it in,
- get information from another screen by opening an examine window or even
- another newscreen window; the first window will not be disturbed in any
- way. The only exception to this independence is the main window, as
- discussed below.
-
- THE MAIN WINDOW
-
- PSM's main window is the first thing you should see after running the
- program, and is the main control panel for everything else. You can
- only have one main window open for a single invocation of the program,
- and closing this window will cause all other windows currently opened
- by the application to be closed and the program to exit. In addition,
- all other windows are opened from the main window, and all open windows
- [with the exception noted later] follow the main window to whatever
- screen it is on.
-
- There are two primary components of the window - the top 3/4 of the
- window allows the viewing and selection of all available public
- screens, while the bottom 2 lines contain other miscellaneous
- functions. At the very top of the window is a list of public screens;
- each entry corresponds to one public screen, and contains three
- distinct fields:
-
- F## Name...
- | | |
- | | +------------ Public screen's name
- | +----------Number of locks on the screen
- +-----Screen state. P=Private, *=A PSM Screen, blank is 'normal.'
-
- Directly below this list is a box labeled "Owner", which identifies
- any task which will be notified when the last window on the screen
- closes; if there is no task, it will display "None."
-
- The screen list is used to selecte which screen an operation is to be
- performed on. The next three lines contain buttons for the following
- operations:
-
- Close - Attempts to close the selected screen. This gadget will be
- disabled if there are any locks on the screen.
- Jump to - Move to the selected screen; the main window and all other
- opened windows will jump to that screen.
- Examine - Open examine window for selected screen.
- Dup Scrn - Open NewScreen window, with defaults from selected screen.
- Mod Scrn - Open NewScreen window in special modify mode on the selected
- screen. Disabled if the screen has any locks.
- Default - Select screen as the default public screen. To the right it
- displays the current default screen.
-
- Finally, the last two lines contain four miscellaneous control gadgets:
-
- Shanghai - Select shanghai mode; when on, all windows trying to open on
- the workbench screen will be forced on to the default public
- screen.
- AutoPop - Select auto pop mode; when on, a public screen will
- automatically move to the front when a window opens on it.
- New Scrn - Bring up NewScreen window based on default public screen.
- Quit - Exit program. Same as selecting the window's close gadget.
-
- THE EXAMINE WINDOW
-
- This window is used to look at basic information about a screen; it is
- opened by selecting "Examine" from the main window. Note that the
- information in the window is only a snapshot created at the time the
- window is opened; any later changes to the screen will not be reflected
- in the window.
-
- THE NEWSCREEN WINDOW
-
- This window is used to open a new public screen. At the top are two
- string gadgets, used to specify the public name the screen will be
- refered to by, and the title to place in the screen's title bar. Note
- that the public screen name must be unique to this screen and is case
- sensitive.
-
- Below these are two large boxes; the left is a standard list of display
- modes which the screen can be opened in, and the box to the right shows
- general information about the currently selected display mode.
-
- Below the display mode is a group of gadgets used to specify the
- screen's overscan information. At the top is a cycle gadget of
- standard overscan regions. If you select "Custom" for the region, the
- four gadgets below it will be activated, allowing you to specify the
- top-left and bottom-right corners of the display region.
-
- To the right of the overscan gadgets are the screen size gadgets. You
- may either choose to use the default dimension or a custom dimension
- for both the screen's width and height. Using a custom dimension, you
- may create a screen either larger or smaller than the selected overscan
- region. Below these gadgets is a single checkbox used to turn
- autoscroll on and off. When opening a screen larger than the overscan
- size, turning this on will allow the screen to automatically scroll
- when you move the pointer to its edge.
-
- At the bottom is a group of gadgets used to select the screen's font,
- and the "Open" button which will actually create the screen.
-
- Finally, at the far right is two groups of gadgets used to control the
- screen's depth, palette and drawing pens.
-
- THE MODIFY WINDOW
-
- There is a special mode of the NewScreen window called "Modify." This
- mode is enabled whenever the Modify button is selected from the main
- window, or after a screen is opened with NewScreen and the window pops
- up on the newly created screen. This window has some special
- characteristics:
-
- - It is attached to the screen it is on, and will not move from it
- when you select "Jump to" from the main window.
- - It changes the screen's palette as the window's palette gadgets
- are played with by the user.
- - The "Open" gadget is replaced with a "Modify" gadget, which
- closes the screen and then reopens it with any changes that have
- been made through the window. This makes it very easy to try out
- different overscan, screen mode, font, size, depth and draw pen
- settings until you find something that you like.
-
- Be aware that this window's attachment to its screen is _only_ through
- its "Public Name" gadget at the top; when changing the palette or
- selecting the modify gadget, this is the screen which is taken to be
- the one being modified.
-
- SCREEN TRACKING
-
- When opening a screen, a program needs to provide Intuition with some
- information that remains valid throughout the screen's lifetime.
- Because of this, PSM employs a method of tracking screens it has
- opened, which allows it to free these resources when closing the
- screen. Screens that are currently being tracked by it are marked with
- the '*' flag in the main window; if one of these screens is closed by
- anything besides PSM, you will loose the 100-200 bytes of memory being
- tracked until you reboot your computer.
-
- The method that PSM uses to track these screens allows it to track them
- between separate invocations of the program or even among multiple
- invocations of the program running at the same time.
-
- THE SOURCE CODE
-
- This archive includes all source code needed to create the program. If
- you own SAS/C v6.0 or later, you should be able to compile it by simply
- double clicking on the build icon in the source directory. Note that
- you will need the gadoutline.library include files in the compiler's
- search path in order to get it to compile.
-
- HOW TO REACH ME
-
- EMail - BIX: dhack@bix.com
- SCHOOL: hackbod@xanth.cs.orst.edu
-
- SnailMail - Dianne Hackborn
- 2895 Los Altos Drive
- Meridian, ID 83642
-
- FINALLY
-
- Have fun, and I hope you find the program useful. All comments,
- suggestions and bug reports are more than welcome.
-